﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Ivy.Common.Framework.Base;
using System.Runtime.Serialization;

namespace Ivy.SiteAdmin.Entity
{
    [Serializable]
    [DataContract]
    public class ContentRating : DataEntityBase
    {
        #region  Variable & constant
        Int32 lContentRatingKey = -1;
        Int32 lContentRatingContentKey = -1;
        Int32 lContentRatingValue = -1;
        DateTime lContentRatingDate = DateTime.Now;
        Int32 lContentRatingProviderUserKey = -1;
        string lContentRatingProviderName = string.Empty;
        string lContentRatingProviderEmail = string.Empty;
        #endregion  Variable & constant

        #region Constructor & Destructor
        public ContentRating()
            : base()
        {
            this.Sys_DeleteType = DeleteType.SoftDeleteOnly;
        }
        #endregion Constructor & Destructor

        #region Properties
        [DataMember]
        public Int32 ContentRatingKey
        {
            get
            {
                return lContentRatingKey;
            }
            set
            {
                lContentRatingKey = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public Int32 ContentRatingContentKey
        {
            get
            {
                return lContentRatingContentKey;
            }
            set
            {
                lContentRatingContentKey = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public Int32 ContentRatingValue
        {
            get
            {
                return lContentRatingValue;
            }
            set
            {
                lContentRatingValue = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public DateTime ContentRatingDate
        {
            get
            {
                return lContentRatingDate;
            }
            set
            {
                lContentRatingDate = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public Int32 ContentRatingProviderUserKey
        {
            get
            {
                return lContentRatingProviderUserKey;
            }
            set
            {
                lContentRatingProviderUserKey = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public string ContentRatingProviderName
        {
            get
            {
                return lContentRatingProviderName;
            }
            set
            {
                lContentRatingProviderName = value;
                base.SetEntityStateChangeAttribute();
            }
        }

        [DataMember]
        public string ContentRatingProviderEmail
        {
            get
            {
                return lContentRatingProviderEmail;
            }
            set
            {
                lContentRatingProviderEmail = value;
                base.SetEntityStateChangeAttribute();
            }
        }
        #endregion Properties

        #region Public Methods
        #endregion Public Methods

        #region Events
        #endregion Events

        #region Private Methods
        #endregion Private Methods
    }
}
